package com.demo.test.pageshelper;

import org.apache.log4j.Logger;

import com.demo.test.pages.MenuPage;
import com.demo.test.pages.RolePage;
import com.demo.test.utils.SeleniumUtil;

/**
 * @author Young
 * @desciption 首页帮助类：专门提供在这个页面进行操作的方法封装*/
public class RolePageHelper {
	//提供本类中日志输出对象
	public static Logger logger = Logger.getLogger(RolePageHelper.class);
	
	/**
	 * @author Young
	 * @description 等待首页元素加载
	 * @param seleniumUtil selenium api封装引用对象
	 * @param timeOut 等待元素超时的时间
	 * */
	public static void waitRolePageLoad(SeleniumUtil seleniumUtil,int timeOut){
		//等待body frame显示出来
		logger.info("开始等待角色列表元素加载");
		seleniumUtil.waitForElementToLoad(timeOut, MenuPage.Menu_ROLE);
	
		seleniumUtil.click(MenuPage.Menu_ROLE);
		seleniumUtil.waitForElementToLoad(timeOut, RolePage.ROLE_IFRAME);
		seleniumUtil.switchFrame(seleniumUtil.findElementBy( RolePage.ROLE_IFRAME));
		seleniumUtil.waitForElementToLoad(timeOut, RolePage.ROLE_SAVE);
		seleniumUtil.click(RolePage.ROLE_SAVE);
		logger.info("角色列表元素加载完毕");

		
	}

	

	/**
	 * @author Young
	 * @description 等待首页元素加载
	 * @param seleniumUtil selenium api封装引用对象
	 * @param timeOut 等待元素超时的时间
	 * */
	public static void waitRolePageSaveLoad(SeleniumUtil seleniumUtil,int timeOut){
		logger.info("开始等待新增角色界面元素加载");
		seleniumUtil.waitForElementToLoad(timeOut, RolePage.ROLE_NAME);
		seleniumUtil.waitForElementToLoad(timeOut, RolePage.ROLE_CODE);
	
		try {
			Thread.sleep(2000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		logger.info("新增角色界面元素加载完毕");

		
	}
	
	/**
	 * @author Young
	 * @description 新增角色封装
	 * @param seleniumUtil selenium api封装引用对象
	 * @param name 角色名称
	 * @param code 角色编码 
	 * */
	public static void typeRoleInfo(SeleniumUtil seleniumUtil,String name,String code){
	
		logger.info("开始填写角色信息");
		//清空用户名输入框
		seleniumUtil.clear(RolePage.ROLE_NAME);
		//输入用户名到用户名输入框
		seleniumUtil.type(RolePage.ROLE_NAME,name);
		System.out.println("角色名："+name);
		//清空密码输入框
		seleniumUtil.clear( RolePage.ROLE_CODE);
	
		//输入密码到密码输入框
		seleniumUtil.type( RolePage.ROLE_CODE, code);
		System.out.println("角色编码："+code);
		logger.info("填写角色信息完毕");
		//点击保存按钮
		seleniumUtil.click(RolePage.ROLE_BT);

		
	}	


	/**
	 * @author Young
	 * @description 修改角色封装
	 * @param seleniumUtil selenium api封装引用对象
	 * @param name 角色名称
	 * @param code 角色编码 
	 * */
	public static void UpdateRoleInfo(SeleniumUtil seleniumUtil,String sort,String describe){
	
		logger.info("开始修改角色信息");
		//选择数据
		seleniumUtil.click(RolePage.ROLE_SELECT_DATA);
		//点击修改
		seleniumUtil.click(RolePage.ROLE_UPDATE);
		//清空用户名输入框
		seleniumUtil.clear(RolePage.ROLE_SORT);
		//输入用户名到用户名输入框
		seleniumUtil.type(RolePage.ROLE_SORT,sort);
		System.out.println("角色名："+sort);
		//清空密码输入框
		seleniumUtil.clear( RolePage.ROLE_TEXTAREA);
	
		//输入密码到密码输入框
		seleniumUtil.type( RolePage.ROLE_TEXTAREA, describe);
		System.out.println("角色编码："+describe);
	
		//点击保存按钮
		seleniumUtil.click(RolePage.ROLE_BT);
		logger.info("修改角色信息完毕");
		
	}		

	/**
	 * @author Young
	 * @description 删除角色封装
	 * @param seleniumUtil selenium api封装引用对象
	 * @param name 角色名称
	 * @param code 角色编码 
	 * */
	public static void DeleteRoleInfo(SeleniumUtil seleniumUtil){
	
		logger.info("开始修改角色信息");
		//选择数据
		seleniumUtil.click(RolePage.ROLE_SELECT_DATA);
	
		//点击删除按钮
		seleniumUtil.click(RolePage.ROLE_DELETE);
		logger.info("修改角色信息完毕");
		
	}	
}
